#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//int main()
//{
//	int x = 0;
//	while (scanf("%d", &x) != EOF)
//	{
//		int n = 0;
//		int m = x - 1;
//		for (int j=0;j < x;j++)
//		{
//			for (int i=0;i < x;i++)
//			{
//				if (i == n || i == m)
//				{
//					printf("*");
//
//				}
//				else
//					printf(" ");
//				
//			}
//			printf("\n");
//			n++;
//			m--;
//		}
//	}
//
//	return 0;
//}
//int main()
//{
//    int fr[1000] = {0};
//    int sc[1000] = {0};
//    int n, m = 0;
//    while (scanf("%d%d", &n, &m) != EOF)
//    {
//        int count,re = 0;
//        if (n > m)
//        {
//           count = m;
//           re = n - m;
//        }
//        else
//        {
//           count = n;
//           re = m - n;
//        }
//        for (int i = 0;i < n;i++)
//        {
//            scanf("%d", &fr[i]);
//        }
//
//
//        for (int i = 0;i < m;i++)
//        {
//            scanf("%d", &sc[i]);
//        }
//        for (int i = 0;i < count;i++)
//        {
//            if (fr[i] > sc[i] && fr[i] * sc[i] != 0)
//            {
//
//                    printf("%d ", sc[i]);
//                    printf("%d ", fr[i]);
//             
//            }
//            else if (sc[i] > fr[i] && fr[i] * sc[i] != 0)
//            {
//                printf("%d ", fr[i]);
//                printf("%d ", sc[i]);
//            }
//        }
//        if (n > m)
//        {
//            for (int i = count;i <= re;i++)
//                if (fr[i] != 0)
//                {
//                    printf("%d ", fr[i]);
//                }
//               
//        }
//        else
//        {
//            for (int i = count;i <= re;i++)
//                if (sc[i] != 0)
//                {
//                    printf("%d ", sc[i]);
//                }
//                
//        }
//
//    }  
//    return 0;
//}
//int main()
//{
//    int arr[1000] = { 0 };
//    int n, m = 0;
//    while (scanf("%d%d", &n, &m) != EOF)
//    {
//        for (int i = 0;i < n + m;i++)
//        {
//            scanf("%d", &arr[i]);
//        }
//
//
//
//
//    }
//    return 0;
//
//}
int main()
{
    int fr[1000] = { 0 };
    int sc[1000] = { 0 };

    int n, m = 0;
    scanf("%d %d", &n, &m);

    for (int i = 0;i < n;i++)
    {
        scanf("%d", &fr[i]);
    }


    for (int i = 0;i < m;i++)
    {
        scanf("%d", &sc[i]);
    }  


    int i = 0;
    int j = 0;
    while (i < n && j < m)
    {
        if (fr[i] < sc[j])
        {
            printf("%d ", fr[i]);
            i++;
        }
        else
        {
            printf("%d ", sc[j]);
            j++;

        }
            
    }


    if (i == n && j < m)
        for (;j < m;j++)
        {
            printf("%d ", sc[j]);
        }
    else
        for (;i < n;i++)
            printf("%d ", fr[i]);


    return 0;
}